package com.upstairstechnology.oi.notification;

import java.io.IOException;
import java.util.Set;

import javax.mail.MessagingException;

import com.upstairstechnology.oi.determination.OutstandingIntegration;

/**
 * Coordinates the execution of the notification strategies.
 * 
 * @author Jeff Jensen
 */
public interface NotificationHandler {
    /**
     * Handle notifications for the outstanding integrations.
     * 
     * @param oiSet
     *            The set of outstanding integrations to process.
     * @throws MessagingException
     *             With errors on message handling.
     * @throws IOException
     *             With errors on data read/writes.
     */
    void handle(Set<OutstandingIntegration> oiSet) throws IOException,
            MessagingException;
}
